Interactive voicemail message and response tagging system for improved response quality and information retrieval

ABSTRACT

Embodiments of the disclosure relate to interactive voicemail tagging of messages and responses to provide improved navigation and tracking of information requested/contained in voicemail messages and responses. Users may tag portions of the recorded message/response to indicate presence of a request for information, an answer providing requested information, etc. and navigate to particular portions of the recorded message/response using the tags. Accordingly, in one embodiment a computer-implemented method for interactive voicemail message and response tagging and processing includes: receiving a prompt having associated therewith one or more prompt tags; receiving a response corresponding to the prompt, the response having associated therewith one or more response tags; and processing the response to determine either or both of a content of the response and a context of the response. Corresponding systems and computer program products are also disclosed.

BACKGROUND

The invention relates to voicemail, and more particularly, to systems,products and techniques that facilitate improving a caller's ability toprovide complete, accurate information necessary in the context of thecall, as well as to facilitate the call recipient's (callee's) abilityto retrieve specific information from the voice mail and follow up withthe caller to supplement information as needed.

Voicemail is a well-known and frequently used technology forfacilitating communications between individuals who may not besimultaneously available for participating in a real-time communication,typically a telephone call. In many contexts, voicemail is a suitablesubstitute for direct communication between the individuals, especiallywhen the amount of information needing communication is small, e.g. asimple sentence or message less than 15 seconds in length which conveysonly high-level information such as the caller's identity and basicreason for calling.

However, in other contexts, especially commercial contexts, the natureof the call may be much more complex, and may require communicating asignificant amount of potentially complex information (e.g. alphanumericstrings to identify products, individuals, services, etc.). As such, thevoicemail system may include a detailed, lengthy prompt instructing thecaller regarding the information that is necessary in the context of thecall, followed by a lengthy response by the caller providing suchinformation.

While traditional voicemail systems are perfectly adequate to presentand record complex information and allow retrieval of such informationat the callee's convenience, it is often difficult for the caller toensure all needed information is provided (e.g. because the caller mayforget some of the instructions while providing the response, may notunderstand part or all of the prompt, or may not have access to all theinformation designated by the prompt). Similarly, the callee reviewingthe caller's response may not properly or completely obtain all neededinformation from the response, and/or may need to replay the entireresponse several times in order to retrieve all needed informationincluded in the response.

Along similar lines, traditional voicemail systems simply present theprompt, and record the response, are therefore rely entirely on thecallee and caller to ensure the prompt and response are complete andsufficiently clear to be understood. Traditional voicemail systems areunable to independently determine prompt or response completeness.

Accordingly, it would be beneficial to provide systems and techniquesthat facilitate callers understanding the information necessary in thecontext of a particular call, providing all such information in avoicemail response, and independently validating completeness of thevoicemail response. It would be of further benefit to facilitate calleeretrieval of information from the caller's response without requiringthe callee repetitively listen to the entire response.

SUMMARY

In one embodiment, a computer-implemented method for interactivevoicemail message and response tagging and processing includes:receiving a prompt having associated therewith one or more prompt tags;receiving a response corresponding to the prompt, the response havingassociated therewith one or more response tags; and processing theresponse to determine either or both of a content of the response and acontext of the response.

In another embodiment, a computer program product for interactivevoicemail message and response tagging and processing includes acomputer readable storage medium having program instructions embodiedtherewith. The computer readable storage medium is not a transitorysignal per se, and the program instructions are executable by aprocessor to cause the processor to perform a method. The methodincludes: receiving, at the processor, a prompt having associatedtherewith one or more prompt tags; receiving, at the processor, aresponse corresponding to the prompt, the response having associatedtherewith one or more response tags; and processing, by the processor,the response to determine either or both of a content of the responseand a context of the response.

In yet another embodiment, an interactive voicemail message and responsetagging and processing system includes: a processor; and logicintegrated with and/or executable by the processor. The logic isconfigured, upon execution thereof, to cause the system to: receive aprompt having associated therewith one or more prompt tags; receive aresponse corresponding to the prompt, the response having associatedtherewith one or more response tags; and process the response todetermine either or both of a content of the response and a context ofthe response.

Other aspects and embodiments of the present invention will becomeapparent from the following detailed description, which, when taken inconjunction with the drawings, illustrate by way of example theprinciples of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a network architecture, in accordance with oneembodiment.

FIG. 2 shows a representative hardware environment that may beassociated with the servers and/or clients of FIG. 1, in accordance withone embodiment.

FIG. 3 is a flowchart of a method for interactive voicemail message andresponse tagging and processing, according to one embodiment.

DETAILED DESCRIPTION

The following description is made for the purpose of illustrating thegeneral principles of the present invention and is not meant to limitthe inventive concepts claimed herein. Further, particular featuresdescribed herein can be used in combination with other describedfeatures in each of the various possible combinations and permutations.

Unless otherwise specifically defined herein, all terms are to be giventheir broadest possible interpretation including meanings implied fromthe specification as well as meanings understood by those skilled in theart and/or as defined in dictionaries, treatises, etc.

It must also be noted that, as used in the specification and theappended claims, the singular forms “a,” “an” and “the” include pluralreferents unless otherwise specified. It will be further understood thatthe terms “comprises” and/or “comprising,” when used in thisspecification, specify the presence of stated features, integers, steps,operations, elements, and/or components, but do not preclude thepresence or addition of one or more other features, integers, steps,operations, elements, components, and/or groups thereof.

The following description discloses several preferred embodiments ofsystems, methods and computer program products facilitating interactivevoicemail message and response tagging for improved response quality andinformation retrieval.

As referenced herein, “voicemail” should be understood as including anytype of automated or semi-automated system for providing instructions toa caller and/or recording information provided by the caller forsubsequent retrieval and/or review. In most embodiments, voicemailshould be understood to include systems in which a prerecorded messageis displayed to the caller (whether in auditory, visual, or otherformat) and the caller is provided an opportunity to record a responsefollowing the message.

In commercial contexts, a caller calling a commercial enterprise may beprompted with an automated guide, e.g. a pre-recorded set ofinstructions, to facilitate the caller receiving the desired serviceand/or being directed to the proper callee. The caller may be instructedby the automated guide to provide certain information prior to beingdirected to the proper callee. Such systems should also be understood aswithin the scope of “voicemail” as described herein.

As noted above, while traditional voicemail systems are suitable forproviding instructions to a caller and recording the caller's response,such systems suffer limitations in certain contexts, e.g. commercialcontexts, due to an inability to ensure a caller fully understands andcomplies with instructions included in the voicemail prompt and furtherinability for the callee to selectively retrieve portions of thecaller's response, e.g. portions conveying a particular item ofinformation among a plurality of items of information included in theresponse as a whole.

Certain improvements to traditional voicemail systems attempt to addressthe inefficiencies noted above by, e.g. allowing a callee to navigatethrough a caller's response using “fast-forward” and “rewind” functions.Such approaches allow the callee to navigate through the response, andmay therefore alleviate the need for the callee to repeat an entireresponse in order to retrieve particular information therefrom. However,these approaches do not address the problems associated with a callerfailing to provide necessary information since the navigation functionsare only available to the callee.

In addition, as will be appreciated by any individual having attemptedto locate a particular portion of a message, song, video, etc.fast-forward and rewind functionalities are imprecise and locating theparticular portion of the message, song, video, etc. is in practice adifficult and time-consuming task. In some instances it may be moreefficient to simply replay the entire response rather than attempt tonavigate to a particular portion thereof.

In other voicemail systems, the caller may be provided an opportunity toreview the prompt provided by the voicemail system prior to recording aresponse. While such solutions allow the caller to repeat the prompt,these solutions exacerbate rather than alleviate the inefficienciesassociated with lengthy, complex prompts and associated difficulty orfailure by the caller to provide a complete response. For instance, evenafter repeating a prompt, a caller may still omit certain information inthe provided response, or may still lack sufficient understanding toprovide appropriate information in the response.

Further still, some existing solutions enable the callee to bookmarkportions of a response while reviewing the response, and optionallynavigate to bookmarked portions thereafter. While such solutions allowthe caller to repeat portions of the prompt, the caller still mustreview the entire response to apply the bookmarks, and is likely tofocus entirely on bookmarking during the first review since it isdifficult to both extract the necessary information from the responseand designate the appropriate bookmark in close temporal proximity.Therefore the bookmarking approaches add to the amount of time andeffort needed to retrieve the necessary information from the response.Furthermore, since the callee is the only party capable of applyingbookmarks, and only to the response, these bookmarking solutions do notaddress problems associated with callers providing incomplete orinaccurate responses.

In addition, none of the foregoing improvements to conventionalvoicemail systems enable independent validation of responsecompleteness. By “independent validation,” the present disclosure shouldbe understood to refer to validating responses using systems,techniques, and/or individuals that do not involve input from the callerand/or callee.

Accordingly, the presently disclosed inventive interactive voicemailmessage and response tagging systems, techniques, and computer programproducts address the shortcomings of existing voicemail technology byproviding the capability for both caller and callee to respectivelyapply tags to the response and prompt, while also enabling independentvalidation of response completeness and/or accuracy based at least inpart on the tags, and/or analyzing content of the prompt and/orresponse.

In one general embodiment, a computer-implemented method for interactivevoicemail message and response tagging and processing includes:receiving a prompt having associated therewith one or more prompt tags;receiving a response corresponding to the prompt, the response havingassociated therewith one or more response tags; and processing theresponse to determine either or both of a content of the response and acontext of the response.

In another general embodiment, a computer program product forinteractive voicemail message and response tagging and processingincludes a computer readable storage medium having program instructionsembodied therewith. The computer readable storage medium is not atransitory signal per se, and the program instructions are executable bya processor to cause the processor to perform a method. The methodincludes: receiving, at the processor, a prompt having associatedtherewith one or more prompt tags; receiving, at the processor, aresponse corresponding to the prompt, the response having associatedtherewith one or more response tags; and processing, by the processor,the response to determine either or both of a content of the responseand a context of the response.

In yet another embodiment, an interactive voicemail message and responsetagging and processing system includes: a processor; and logicintegrated with and/or executable by the processor. The logic isconfigured, upon execution thereof, to cause the system to: receive aprompt having associated therewith one or more prompt tags; receive aresponse corresponding to the prompt, the response having associatedtherewith one or more response tags; and process the response todetermine either or both of a content of the response and a context ofthe response.

FIG. 1 illustrates an architecture 100, in accordance with oneembodiment. As shown in FIG. 1, a plurality of remote networks 102 areprovided including a first remote network 104 and a second remotenetwork 106. A gateway 101 may be coupled between the remote networks102 and a proximate network 108. In the context of the presentarchitecture 100, the networks 104, 106 may each take any formincluding, but not limited to a LAN, a WAN such as the Internet, publicswitched telephone network (PSTN), internal telephone network, etc.

In use, the gateway 101 serves as an entrance point from the remotenetworks 102 to the proximate network 108. As such, the gateway 101 mayfunction as a router, which is capable of directing a given packet ofdata that arrives at the gateway 101, and a switch, which furnishes theactual path in and out of the gateway 101 for a given packet.

Further included is at least one data server 114 coupled to theproximate network 108, and which is accessible from the remote networks102 via the gateway 101. It should be noted that the data server(s) 114may include any type of computing device/groupware. Coupled to each dataserver 114 is a plurality of user devices 116. User devices 116 may alsobe connected directly through one of the networks 104, 106, 108. Suchuser devices 116 may include a desktop computer, lap-top computer,hand-held computer, printer or any other type of logic. It should benoted that a user device 111 may also be directly coupled to any of thenetworks, in one embodiment.

A peripheral 120 or series of peripherals 120, e.g., facsimile machines,printers, networked and/or local storage units or systems, etc., may becoupled to one or more of the networks 104, 106, 108. It should be notedthat databases and/or additional components may be utilized with, orintegrated into, any type of network element coupled to the networks104, 106, 108. In the context of the present description, a networkelement may refer to any component of a network.

According to some approaches, methods and systems described herein maybe implemented with and/or on virtual systems and/or systems whichemulate one or more other systems, such as a UNIX system which emulatesan IBM z/OS environment, a UNIX system which virtually hosts a MICROSOFTWINDOWS environment, a MICROSOFT WINDOWS system which emulates an IBMz/OS environment, etc. This virtualization and/or emulation may beenhanced through the use of VMWARE software, in some embodiments.

In more approaches, one or more networks 104, 106, 108, may represent acluster of systems commonly referred to as a “cloud.” In cloudcomputing, shared resources, such as processing power, peripherals,software, data, servers, etc., are provided to any system in the cloudin an on-demand relationship, thereby allowing access and distributionof services across many computing systems. Cloud computing typicallyinvolves an Internet connection between the systems operating in thecloud, but other techniques of connecting the systems may also be used.

FIG. 2 shows a representative hardware environment associated with auser device 116 and/or server 114 of FIG. 1, in accordance with oneembodiment. Such figure illustrates a typical hardware configuration ofa workstation having a central processing unit 210, such as amicroprocessor, and a number of other units interconnected via a systembus 212.

The workstation shown in FIG. 2 includes a Random Access Memory (RAM)214, Read Only Memory (ROM) 216, an I/O adapter 218 for connectingperipheral devices such as disk storage units 220 to the bus 212, a userinterface adapter 222 for connecting a keyboard 224, a mouse 226, aspeaker 228, a microphone 232, and/or other user interface devices suchas a touch screen and a digital camera (not shown) to the bus 212,communication adapter 234 for connecting the workstation to acommunication network 235 (e.g., a data processing network) and adisplay adapter 236 for connecting the bus 212 to a display device 238.

The workstation may have resident thereon an operating system such asthe Microsoft Windows® Operating System (OS), a MAC OS, a UNIX OS, etc.It will be appreciated that a preferred embodiment may also beimplemented on platforms and operating systems other than thosementioned. A preferred embodiment may be written using XML, C, and/orC++ language, or other programming languages, along with an objectoriented programming methodology. Object oriented programming (OOP),which has become increasingly used to develop complex applications, maybe used.

Now referring to FIG. 3, a flowchart of a method 300 is shown accordingto one embodiment. The method 300 may be performed in accordance withthe present invention in any of the environments depicted in FIGS. 1-2,among others, in various embodiments. Of course, more or less operationsthan those specifically described in FIG. 3 may be included in method300, as would be understood by one of skill in the art upon reading thepresent descriptions.

Each of the steps of the method 300 may be performed by any suitablecomponent of the operating environment. For example, in variousembodiments, the method 300 may be partially or entirely performed by atelecommunications device such as a touchtone telephone, mobiletelephone, smartphone, tablet, etc., and/or a server environment servingone or more telecommunications devices, or some other device having oneor more processors therein. The processor, e.g., processing circuit(s),chip(s), and/or module(s) implemented in hardware and/or software, andpreferably having at least one hardware component may be utilized in anydevice to perform one or more steps of the method 300. Illustrativeprocessors include, but are not limited to, a central processing unit(CPU), an application specific integrated circuit (ASIC), a fieldprogrammable gate array (FPGA), etc., combinations thereof, or any othersuitable computing device known in the art.

As shown in FIG. 3, method 300 may initiate with operation 302, where aprompt having associated therewith one or more prompt tags, e.g. tags ofthe type described hereinabove, is received. The prompt may be receivedat or via a communications device such as a telephone, smartphone,tablet, microphone coupled to a workstation, etc. such as shown in FIGS.1 and 2, and/or may be received at or via a telecommunications network,e.g. at a server environment serving one or more telecommunicationsdevices, such as shown in FIGS. 1 and 2.

In operation 304 of method 300, a response corresponding to the promptis received. The response also has associated therewith one or moreresponse tags, e.g. tags of the type described herein, and may bereceived in any suitable manner such as those described above regardingreceiving the prompt.

Method 300 also includes operation 306, in which the response isprocessed to determine either or both of a content of the response and acontext of the response. Processing the response (and similarly,processing the prompt as may be performed in conjunction with processingthe response) may include analyzing the response itself, and/or theresponse tags associated with the response. Preferably processingincludes analyzing at least the response tags with reference to theprompt tags, in one embodiment.

As understood herein, content may include any suitable analysis orprocessing of the subject matter of the response, e.g. parsing audiocontent to extract therefrom text for comparison to the prompt, parsingmetadata associated with the prompt to determine the number of tagsassociated with the response, comparing the tags associated with theresponse with tags associated with the prompt, etc. as would beappreciated by a skilled artisan upon reading the present disclosures.Determining context of the prompt may be understood as including similarparsing as for determining content, but with a different objective—e.g.determining whether a response is urgent and/or includes supplementalinformation, responsive questions for the callee, etc. Accordingly,determining context may be based in part on determining whether theresponse tags include tags of a particular type, a predetermined numberof tags of a particular type, etc. in various embodiments.

Method 300 includes the foregoing operations according to the embodimentshown in FIG. 3. Skilled artisans reading the present descriptions willalso appreciate that the method 300 may additionally or alternativelyinvolve any number of other operations, features, components, etc. asdisclosed herein. The additional/alternative operations, features,components, etc. may be included or substituted in any combination,permutation, etc. without departing from the scope of the presentdescriptions. For instance, in different, combinable embodiments, method300 may include one or more of the following.

In one embodiment, the prompt tags and the response tags may eachindependently include one or more tag types selected from: timestamp,question, answer, supplemental information, critical, and contactinformation tag types. As described in further detail below, the tagtypes may facilitate higher level processing of voicemail prompts andresponses, and greatly improve the function of voicemail systems byenabling more facile understanding of prompt requirements/instructions,as well as ensuring completeness of responses.

Preferably, processing the response to determine either or both of thecontent of the response and the context of the response includes mappingone or more of the prompt tags to one or more of the response tags. Themapping may be based in whole or in part on the tag type and/or tagnumber (e.g. sequential position of the tag within a set of tags havingthe same tag type). Generally speaking, mapping the tags includesdetermining whether a 1:1 correspondence exists between the prompt tagsand the response tags, in particularly preferred approaches.

In more embodiments determining the content of the response comprisesdetermining whether the response is complete, e.g. based the mappingindicating whether a 1:1 correspondence exists. A response may beconsidered complete, in various approaches, when all question tagsassociated with the prompt have a corresponding answer tag associatedwith the response, when all required question tags associated with theprompt have a corresponding answer tag associated with the response, orwhen all tags associated with the response have a corresponding tag(optionally of the same type) associated with the response. In moreapproaches, a user may define a threshold level of completeness (e.g. aminimum threshold, a minimum percentage, etc.) to be present for amessage content to be considered “complete.”

In some approaches, in response to determining the response is notcomplete, method 300 may include generating or retrieving an additionalprompt indicating the response is not complete. Optionally andpreferably the additional prompt (described elsewhere herein as a“summary” in some embodiments) indicates which portions of the promptwere not addressed in the response so as to facilitate completion of theresponse with a supplemental response. In such embodiments, method 300may also include transmitting (in the case of a server, for example) ordisplaying (in the case of a telecommunications device, such as asmartphone, for example) the additional prompt to a user; and receivingan additional response from the user in response to transmitting ordisplaying the additional prompt.

Method 300 may optionally include prioritizing the response based atleast in part on the content of the response, e.g. prioritizing theresponse based at least in part on whether the response is complete, thedegree to which the response is complete, etc. Prioritization mayadditionally or alternatively be based on context of the response, e.g.based on the response including one or more tags of a particular typesuch as question tags, supplemental information tags, critical tags,etc. Since the type of tag(s) present may indicate a manner in which aresponse is incomplete, prioritization may be based on the particularcontext of how the response is incomplete, e.g. missing answers tocritical questions, missing answers to required or optional questions,etc.

In more approaches, determining the context of the response may includedetermining the response is associated with one or more particular tagtypes, particularly critical tag types, question tag types, supplementalinformation tag types, and/or contact information tag types. In responseto determining the context of the response, the method 300 may includerouting the response based at least in part on the context of theresponse; and/or prioritizing the response based at least in part on thecontext of the response. For instance, responses including a criticaltag may be routed to a manager, alternate recipient such as an on-callexpert, etc. Responses including particular contact information tags maybe routed to an appropriate department or individual, responsesincluding question tag types may be routed to a human recipient, e.g. inthe case of an automated voicemail recipient handling incoming calls,etc.

The prompt tags may be associated with the prompt in response to a userproviding tag indicators via a communications device; and the responsetags may be associated with the response in response to a second userproviding tag indicators via a second communications device, in variousembodiments. For example, the tag indicators may include input selectedfrom tactile input provided via either or both of the communicationsdevice and the second communications device; and auditory input providedvia either or both of the communications device and the secondcommunications device. Thus, users may indicate tags by interacting withthe communications device by pressing one or more keys on thecommunications device, and/or by speaking key phrases to indicatepresence of a tag in association with the response. The tags may beassociated with the prompt and/or response as metadata, e.g. where theprompt and/or response comprise audio data, the tags may includemetadata identifying the tag type, tag sequential position, and/or atimestamp within the audio data to which the tag corresponds.

Preferably, each of the tag indicators indicates at least a type of thecorresponding tag, and more preferably each of the tag indicatorsuniquely identifies one of the prompt tags or one of the response tags.

In various embodiments, the presently disclosed inventive interactivevoicemail tagging systems, techniques, and/or computer program productsmay include any of the following features, structures, operations, etc.without departing from the scope of the instant descriptions. Moreover,such features, structures, operations, etc. may be combined in anysuitable manner.

In one aspect of the presently disclosed inventive concepts, the partyexpecting to receive calls and voicemails (typically the callee, butoptionally another user besides the individual who will review thecaller's responses) is preferably enabled to associate tags with aprompt that will be presented to callers seeking to communicate with theparty expecting to receive calls.

The party/callee may input information into the voicemail system toassociate the tags with the prompt, and in various embodiments the inputmay be provided in different forms. For instance if the prompt is anaudible message, the party/callee may record the audible message andsimultaneously or subsequently provide indicators to the voicemailsystem that certain portions of the recording should be tagged.Simultaneous recording and provision of tag indicators may include acallee speaking audible message content comprising the prompt so thevoicemail system may record the audible message content, and whilespeaking provide the indicator(s) at appropriate times throughoutrecording the audible message content.

Additionally and/or alternatively, subsequent provision of tagindicators may involve the callee recording a first portion of theprompt, e.g. a generic greeting, introduction, and/or summary of theinformation the caller should provide in response to the prompt. Forinstance, the first portion of the prompt may identify the entity thecaller has reached, hours of operation, contact information for theentity, etc. and may indicate a number of questions/requests that willbe presented to the caller. The callee may subsequently input tagindicators to the voicemail system and record additional portions of theprompt after providing each tag indicator, e.g. speaking the questionsor requests for specific items of information, optionally with a moredetailed description of each particular item of information, followinginput of a tag indicator. Multiple tags and additional portions of theprompt may be input in a sequential manner until the prompt is complete.

The callee associating tags with the prompt advantageously allowscallers to navigate the prompt interactively, facilitating callers'ability to review each portion of the prompt and ensure the callerunderstands the information that should be included in the response.Further, the caller need not repeat the entire prompt, but may navigateto specific portions according to the caller's requirements. Furtherstill, by associating specific tag types with the prompt, the callee mayenable the voicemail system to perform higher level processing such asdetermining a number of questions/requests included in a prompt,analyzing corresponding responses to determine completeness thereof,designating certain portions of the prompt as “critical” and thereforedisallowing callers to skip over critical portions, etc. as describedelsewhere herein and/or as would be understood by a person havingordinary skill in the art upon reading the present disclosures. Tagtypes and techniques for associating different types of tags withprompts and responses will be discussed in further detail below.

Turning now to the caller, in preferred approaches the caller is able toutilize tags associated with the prompt, as noted above, as well asassociate tags with the response to the prompt. In a similar manner asdescribed above regarding the callee, the caller may record a responseand simultaneously or subsequently provide tag indicators so as toassociate tags with the response. The tags may also similarly allow thecallee to navigate through the caller's response, e.g. navigating toportions that include answers/items of information corresponding to aportion of the prompt asking the corresponding question and/orrequesting the item of information.

In various embodiments, tags associated with the prompt and/or responsemay further indicate the context of each portion of the prompt/response,e.g. timestamp tags for navigation throughout the prompt/response;answer tags to indicate portions of a response that correspond to aquestion or request in the prompt (and optionally indicate theparticular question or request to which the portion is responsive);question tags to (preferably uniquely) indicate portions of the promptand/or response that present a question or request for information;critical tags to indicate portions of the response that the caller orcallee should be required to review at least once; supplementalinformation tags that indicate portions of the response which provideanswers or items of information, but which are not necessarily providedin response to a question or request in the prompts, contact informationtags to indicate contact information that may be used to reach thecaller or callee, etc. as would be understood by persons having ordinaryskill in the art upon reading the instant descriptions.

In some embodiments, question tags may be distinguished furtheraccording to whether the respondent may, or must, provide an answer tothe corresponding question, e.g. “optional question” versus “requiredquestion” tags. In preferred approaches, each of the foregoing tag typesconveys navigation capability in addition to the functionality statedabove.

Associating tags with the prompt and/or response may be accomplished inany suitable manner, and in several preferred embodiments may includethe caller or callee providing input directly via the communicationsdevice being used to record the prompt or response. In variousembodiments, directly provided input may include the user inputtingdifferent keystrokes or combinations of keystrokes to indicate to thevoicemail system that a tag should be associated with a particularportion of the prompt/response, and/or the type of tag to be associatedwith each portion of the prompt/response.

For instance, in one illustrative approach, while recording the messagethe caller or callee could use the “0”, “*”, and “#” key to provide tagtype indicators, e.g. marking the beginning of a timestamp tag, questiontag, and answer tag, respectively. Of course, other keys may beconfigured to indicate the various tag types, and may vary depending onthe nature of the keypad or other input interface of the communicationsdevice (e.g. a virtual keyboard for mobile communications devices).

In more sophisticated versions of the foregoing illustrative approach,the caller or callee could input a combination of one of the foregoingtag type indicators and a sequence indicator, e.g. indicating thesequential number of the particular tag type in the prompt/response. Forexample, a caller or callee could input one of the foregoing tag typeindicators followed by a numerical value, e.g. a value in a range from1-9, to indicate the tag type and sequential position of that tag typewith respect to other tags of the same type that are also associatedwith the prompt/response. The input may be provided in the form oftactile input, e.g. a user pressing certain keys on a keypad of acommunications device, or auditory input, e.g. spoken tags provided withthe response or prompt.

In this manner, individual tags of each type may be uniquely designatedfacilitating even more sophisticated navigation of the prompt/responseby the caller and/or callee, as well as sophisticated and/or processingof the prompt/response by the voicemail system. For instance, thevoicemail system may analyze tags associated with a prompt, and tagsassociated with a corresponding response, and determine not only thedegree to which the response is complete, but also the specific portionsof the prompt for which a corresponding answer or item of informationwas not provided in the response. Such embodiments improve the parties'ability to easily determine whether additional follow up is needed, andif so specifically what information should be gathered in the follow upaction.

An even more sophisticated, but also more user friendly system, may usevoice recognition as a mechanism to associate tags withprompts/responses. Users may provide audio tags simultaneously orsequentially to providing the content of the response. For instance, theuser may speak a tag phrase such as “Question 1”, and “Answer 1” and thevoice mail system would automatically create the proper tags andassociate the proper tags with the proper portion(s) of theprompt/response.

In terms of the tags being indicated to the listener, variousimplementations are possible within the scope of the presently disclosedinventive concepts. While not to be considered limiting on the manner inwhich tags may be indicated to the listener, suitable implementationsmay include a simple audio tone being played at the beginning of eachbookmark, optionally with different tones indicating different tagtypes. Tags may be indicated to a listener via a pause in the playbackof the recorded prompt/response, optionally having a tone or voiceoverlay indicating the tag type and/or sequential position of the tag(e.g. question 1, answer 4, supplemental information 2, critical portion1, etc.), followed by the content of the question, answer, etc.

Optionally, and as mentioned above, at the beginning and/or end of theprompt or response, a summary of the prompt or response may be presentedto the caller or callee. The summary may preferably include a number ofsome or all of the various types of tags associated with the prompt,e.g. in the form of an instruction such as “this prompt includes fourquestions, please provide and tag four answers in your response,” “thecaller has asked a question in addition to providing answers to theprompt questions,” “the caller has designated answer two and questionone as critical portions of the response,” etc.

As a further advantage, higher level processing of voicemail promptand/or response content is possible using the presently disclosedinventive concepts. For instance, an automated system serving thevoicemail technology may review prompts and/or responses (individuallyor as associated pairs, in various embodiments) to determine contentand/or context of the prompt and/or response and provide a summary tothe listener. The summary may be provided automatically in response todetermining the content and/or context of the request, in someapproaches. In other approaches the summary may be provided uponrequest, e.g. a summary of the number of questions/items of informationincluded in the prompt, a summary of the number of answers/items ofinformation included in the response, a degree of response completeness,presence of questions/answers/items of information included in aresponse that do not correspond to a question or request for informationin the prompt, etc. as would be understood by a person having ordinaryskill in the art upon reading the present descriptions.

The summary may be generated using similar processing and analysis aspart of the higher level processing functionality enabled via thepresent descriptions. Generating a summary may optionally includeidentifying tags associated with responses or prompts, and/or mappingtags associated with a response to tags associated with a correspondingprompt. For instance if a prompt includes four question tags but acorresponding response includes three or five answer tags, the voicemailsystem may determine the response is incomplete, or includessupplemental information, respectively. If the tags of a particular typeare uniquely identified, e.g. via sequence information, the system maydetermine the specific question from the prompt which lacks acorresponding answer in the response, and report the specificquestion(s) that are unanswered.

Preferred embodiments leverage the summary information to facilitatereceiving complete responses without requiring follow up by the callee.For instance, a caller provides an incomplete response. The voicemailsystem may process the provided incomplete response, and determine theresponse lacks one or more tags corresponding to e.g. one or morequestion tags associated with the prompt, preferably determine thespecific tag associated with the prompt lacks a corresponding tagassociated with the response. In response to determining the responselacks the tag(s), the voicemail system may display another prompt to theuser specifically indicating that the response is incomplete, andoptionally but preferably specifying the particular questions/requestsin the prompt that are not answered in the response. The caller may thenbe prompted to record a new response, or simply provide a supplementalresponse supplying the missing information.

In certain embodiments, higher level processing such as mentioned abovealso enables the voicemail system to take proactive action to facilitaterapid review of responses in appropriate circumstances. For instance, inone embodiment responses determined to include a question or criticalinformation (optionally a critical question, i.e. a portion having bothcritical and question tag types associated therewith) may be routedautomatically by the voicemail system, e.g. to another suitablerecipient.

This routing capability is particularly advantageous in certaincontexts, such as communications regarding medical information where apatient caller may have an emergency, but the patient's primaryphysician (pharmacist, therapist, etc.) is not available to take thecall. Rather than waiting for the primary physician to review thepatient's voicemail, the system may automatically route the message toan alternative physician (e.g. on-call physician) for urgent review.Again, the routing may preferably be based on determining the caller'sresponse is associated with certain tag type(s), optionally incombination with determining a certain amount of time has elapsed sincethe caller recorded the response.

Such higher level processing also enables prioritization of responseswithin the voicemail system/environment. For instance, responses may beprioritized according to degree of completeness, so that a user of thevoicemail system may quickly and easily determine whether, and if sowhich of the responses require follow up inquiries (e.g. partialresponses), may be processed with minimal effort (e.g. completeresponses), include additional information (e.g. responses with moretags than a number of tags associated with the corresponding prompt),include an inquiry directed to the callee (e.g. responses with more tagsthan a number of tags associated with the corresponding prompt, and/ortags of a type not corresponding to tags associated with thecorresponding prompt), etc. as would be understood by skilled artisansupon reviewing the instant disclosures. Of course, the callee or otheruser of the voicemail system may choose an appropriate set of criteriasuch as those listed above or equivalents thereof according to whichresponses should be prioritized. The callee or other user may definesuch a prioritization to the voicemail system, and the system maypreferably implement the prioritization to rank each response receivedaccording to the defined criteria.

As such, the voicemail systems and techniques described herein mayutilize a backend system such as a VoIP server environment, or beembodied as software and/or firmware which may be integrated directlywith the communications device (especially for smartphones, tablets,etc.) to enable the comparison of tags associated with prompts andcorresponding responses; determining completeness of responses or othercharacteristics of responses such as presence of supplementalinformation, questions, critical information, etc.; associating tagswith recorded audio data and other functionality that would beunderstood as suitable for implementation in a computing environment asopposed to a traditional touchtone telephone.

The foregoing functionality, in various embodiments, conveys significantadvantages to the presently disclosed inventive voicemail solutionsrelative to existing voicemail systems and techniques. Generallyspeaking, enabling each party to tag respective sides of thecommunication (e.g. callee to tag prompt, caller to tag response)enables independent validation of response completeness, e.g. by mappingtags between the prompt and response.

The presently disclosed inventive concepts enable a caller toselectively navigate to particular portions of the prompt, while alsoallowing the callee to selectively navigate to particular portions ofthe response. This selective navigation allows each party to reviewselect portions of the prompt/response without having to navigate usingimprecise tools such as fast forward or rewind, and also withoutrequiring the listener (for the prompt, caller and for the response,callee) to create the tags.

The present invention may be a system, a method, and/or a computerprogram product. The computer program product may include a computerreadable storage medium (or media) having computer readable programinstructions thereon for causing a processor to carry out aspects of thepresent invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

Moreover, a system according to various embodiments may include aprocessor and logic integrated with and/or executable by the processor,the logic being configured to perform one or more of the process stepsrecited herein. By integrated with, what is meant is that the processorhas logic embedded therewith as hardware logic, such as an applicationspecific integrated circuit (ASIC), a FPGA, etc. By executable by theprocessor, what is meant is that the logic is hardware logic; softwarelogic such as firmware, part of an operating system, part of anapplication program; etc., or some combination of hardware and softwarelogic that is accessible by the processor and configured to cause theprocessor to perform some functionality upon execution by the processor.Software logic may be stored on local and/or remote memory of any memorytype, as known in the art. Any processor known in the art may be used,such as a software processor module and/or a hardware processor such asan ASIC, a FPGA, a central processing unit (CPU), an integrated circuit(IC), a graphics processing unit (GPU), etc.

It will be clear that the various features of the foregoing systemsand/or methodologies may be combined in any way, creating a plurality ofcombinations from the descriptions presented above.

It will be further appreciated that embodiments of the present inventionmay be provided in the form of a service deployed on behalf of acustomer to offer service on demand.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. Thus, the breadth and scope of a preferred embodiment shouldnot be limited by any of the above-described exemplary embodiments, butshould be defined only in accordance with the following claims and theirequivalents.

What is claimed is:
 1. A computer-implemented method for interactivevoicemail message and response tagging and processing, the methodcomprising: receiving a prompt having associated therewith one or moreprompt tags; receiving a response corresponding to the prompt, theresponse having associated therewith one or more response tags;processing the response to determine a content of the response; andprioritizing the response based at least in part on the content of theresponse.
 2. The method as recited in claim 1, wherein the prompt tagsand the response tags each independently include one or more tag typesselected from a group consisting of: timestamp, question, answer,supplemental information, critical, and contact information.
 3. Themethod as recited in claim 1, wherein processing the response todetermine the content of the response comprises mapping one or more ofthe prompt tags to one or more of the response tags.
 4. The method asrecited in claim 1, wherein determining the content of the responsecomprises determining whether the response is complete.
 5. The method asrecited in claim 4, comprising, in response to determining the responseis not complete, generating or retrieving an additional promptindicating the response is not complete.
 6. The method as recited inclaim 5, comprising: transmitting or displaying the additional prompt toa user; and receiving an additional response from the user in responseto transmitting or displaying the additional prompt.
 7. The method asrecited in claim 1, comprising determining a context of the response,wherein determining the context of the response comprises determiningthe response is associated with one or more particular tag types.
 8. Themethod as recited in claim 7, comprising routing the response based atleast in part on the context of the response.
 9. The method as recitedin claim 7, comprising prioritizing the response based at least in parton the context of the response.
 10. The method as recited in claim 1,wherein the prompt tags are associated with the prompt in response to auser providing tag indicators via a communications device; and whereinthe response tags are associated with the response in response to asecond user providing tag indicators via a second communications device.11. The method as recited in claim 10, wherein the tag indicatorscomprise input selected from a group consisting of: tactile inputprovided via either or both of the communications device and the secondcommunications device; and auditory input provided via either or both ofthe communications device and the second communications device.
 12. Themethod as recited in claim 10, wherein each of the tag indicatorsindicates at least a type of one of the prompt tags or one of theresponse tags.
 13. The method as recited in claim 10, wherein each ofthe tag indicators uniquely identifies one of the prompt tags or one ofthe response tags.
 14. The method as recited in claim 1, wherein each ofthe prompt and the response comprise audio data; wherein the prompt tagscomprise metadata associated with the audio data of the prompt; andwherein the response tags comprise metadata associated with the audiodata of the response.
 15. A computer program product for interactivevoicemail message and response tagging and processing, the computerprogram product comprising a computer readable storage medium havingprogram instructions embodied therewith, wherein the computer readablestorage medium is not a transitory signal per se, the programinstructions executable by a processor to cause the processor to performa method comprising: receiving, at the processor, a prompt havingassociated therewith one or more prompt tags; receiving, at theprocessor, a response corresponding to the prompt, the response havingassociated therewith one or more response tags; processing, by theprocessor, the response to determine a context of the response, whereindetermining the context of the response comprises determining, by theprocessor, the response is associated with one or more particular tagtypes; and prioritizing, by the processor, the response based at leastin part on the context of the response.
 16. An interactive voicemailmessage and response tagging and processing system, comprising: aprocessor; and logic integrated with and/or executable by the processor,wherein the logic is configured, upon execution thereof, to cause thesystem to: receive a prompt having associated therewith one or moreprompt tags; receive a response corresponding to the prompt, theresponse having associated therewith one or more response tags; processthe response to determine either or both of a content of the responseand a context of the response; and prioritize the response based atleast in part on the determined either or both of the content of theresponse and the context of the response.
 17. The system as recited inclaim 16, wherein the prompt tags and the response tags eachindependently include one or more tag types selected from a groupconsisting of: timestamp, question, answer, supplemental information,critical, and contact information.
 18. The system as recited in claim16, wherein processing the response to determine either or both of thecontent of the response and the context of the response comprisesmapping one or more of the prompt tags to one or more of the responsetags.
 19. The system as recited in claim 16, wherein determining thecontent of the response comprises determining whether the response iscomplete; and wherein determining the context of the response comprisesdetermining the response is associated with one or more particular tagtypes.
 20. The system as recited in claim 16, wherein the response isprioritized based at least in part on the content of the response.